package com.dys.testjdk11;

import java.util.function.Consumer;

/**
 * @className: com.dys.testjdk11.VarTest
 * @description: 局部变量类型推断升级
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/04 下午10:44
 */
public class VarTest {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        // lambda表达式中,注解修饰变量的时候,变量的数据类型必须要写,不能省略,像下面这种写法就是错误的
        // Consumer<String> con =(@Deprecated t) -> System.out.println(t.toLowerCase());
        // 这个时候就必须要为小括号中的参数添加数据类型,应该这样写
        // Consumer<String> con =(@Deprecated String t) -> System.out.println(t.toLowerCase());
        // java11中,lambda表达式中的参数数据类型可以使用var,但是不能不写
        Consumer<String> con = (@Deprecated var t) -> System.out.println(t.toLowerCase());
    }
}
